dream3start1 = pause {
   time         = 1000
  ,next         = walkfast2_("dream3start2")
}

dream3start2 = gfxroom {
   enter        = sound_("exclaim")
  ,nodirect     = true
  ,ontimer      = function(s)
                    if s._y == nil then
                      local fnt = drawing.font("sans-b.ttf", 48);
                      local t = sprite.text(fnt, "Лида!", "white");
                      sprite.copy(t, s.pic, 320, 260);
                      sprite.free(t);
                      s._y = true;
                    end
                  end
  ,stop         = 6
  ,next         = walkfast2_("dream3start3")
  ,dispose      = nil_("_y")
  ,rate         = 100
}

dream3start3 = pause {
   time         = 4000
  ,next         = walk_("dream3")
}

dream3 = scene {
   _alldone     = false
  ,checkpoint   = true
  ,enter        = timer_(10000)
  ,timer        = chain_ {
                    music_("day",3),
                    timerstop
                  }
  ,obj          = {
                     "dream3_start"
                    ,"dream3_itself"
                    ,"dream3_topic"
                    ,"dream3_window"
                    ,"dream3_elevator"
                    ,"dream3_info"
                    ,"dream3_paper"
                    ,"dream3_bin"
                    ,"dream3_crowd"
                    ,"dream3_victor"
                    ,"dream3_lydia"
                    ,"dream3_anna"
                    ,"dream3_cube"
                    ,"dream4_wall"
                    ,"cmn_floor"
                    ,"cmn_ceil"
                  }
  ,Wait         = choose_ {
                     ["default"] =
                        [[Да, я могу просто подождать начала семинара. Она уже один раз отшила меня, когда
                          я пригласил её на свидание. С чего я решил, что у меня сейчас что-нибудь получится?^
                          Но почему-то я не могу просто стоять здесь и ждать, как если бы именно сейчас,
                          в этом наводнённом студентами коридоре, мне открывается последняя возможность.]]
                    ,["dream3_lydia._start"] = [[Нет, я должен попытаться заговорить с ней.]]
                  }
  ,Refresh      = [[В коридоре, кажется, собрался почти весь наш курс. Рядом с аудиторией, где скоро
                    начнётся последний семинар Соколовского, стоит со своей подругой Лида. Справа от
                    меня -- информационный терминал, а за спиной -- двери лифта. У лифта на стене
                    висит какое-то объявление. Напротив лифтовой площадки валяется перевёрнутое
                    мусорное ведро.]]
  ,TurnAround   = [[В коридоре, кажется, собрался почти весь наш курс.]]
  ,Exit         = [[Нет, думаю, мне всё-таки стоит посетить семинар Соколовского.]]
}

dream3_start = rooms.event
  [[В коридоре рядом с аудиторией собралась целая толпа -- здесь много людей, которых я ни разу
    не видел за весь учебный год. Скоро начнется последний перед экзаменом семинар Соколовского, и,
    видимо, даже самые заядлые прогульщики решили хоть раз появиться, как будто одно-единственное
    занятие действительно поможет им сдать экзамен.^
    Я стою рядом с Виктором у широкого, занимающего почти всю стену окна, из которого открывается
    привычный уже вид на институтский городок и сонную лесопарковую окраину. Полуденное солнце
    неприятно слепит мне глаза.^
    В коридоре такой гомон, что можно подумать, будто ты оказался на станции какого-нибудь
    аэровокзала. Все, наверное, обсуждают предстоящий экзамен. Неподалеку от меня, рядом с дверью в
    аудиторию, стоит Лида. На ней тёмно-серое неброское платье с длинной юбкой и накладными плечами,
    которое выглядит так необычно и старомодно, что, будь я с другого курса, никогда бы не подумал, что
    она -- обычная студентка. Скорее уж поверишь в то, что она преподаватель или попросту заблудилась в
    институте, оказавшись в этой разноцветной и суматошной толпе подростков по ошибке. А ещё Лида почти
    на голову выше всех своих сверстниц. Мы так с ней никуда и не сходили за весь учебный год. Я
    приглашал её однажды, но ничего не вышло...^
    У меня вдруг возникает странная, почти безумная мысль, что, может быть, именно сейчас, за десять
    минут до начала семинара, как раз самый подходящий момент, чтобы ещё раз попытать счастья. Но как мне
    начать разговор?^
    Лида стоит рядом со своей подругой, невысокой полноватой девушкой в неопрятном джинсовом костюме.
    Помнится, подругу зовут Анной. Они разговаривают о чём-то, хотя говорит в основном Анна, а Лида просто
    улыбается в ответ и кивает головой, прижимая к груди планшет так, словно это какое-то сокровище.^
    Справа от меня -- информационный терминал с программой завершающихся курсов. За спиной -- двери
    лифта. У лифта на стене висит объявление на пластиковом листе. Прямо напротив лифтовой площадки
    валяется перевёрнутое ведро, из которого на пол высыпалось несколько смятых банок и упаковки от сладких
    батончиков.]]

dream3_itself = item {
   nam          = _"коридор"
  ,Exam         = [[В коридоре сегодня так душно, что я даже начинаю чувствовать слабую, но навязчивую
                    головную боль -- как во время простуды, когда кажется, что твои височные доли медленно
                    сдавливают тисками. Наверное, во всём виновата эта толпа прогульщиков, которые
                    решились-таки напоследок посетить семинар Соколовского. А может, это от волнения?]]
  ,Walk         = [[Я прохаживаюсь по коридору рядом с лифтовой площадкой -- сначала к стене, у которой
                    стоит информационный терминал, затем к залитому солнцем окну, затем снова к стене.]]
}:like(pRoom)

dream3_topic = item {
   _done        = false
  ,nam          = _"тема для разговора"
  ,Think        = [[Нет, в голову ничего не приходит.]]
}:like(pThink)

dream3_window = item {
   nam          = _"окно"
  ,Exam         = [[За год в институте я уже так привык к этому виду, что он стал мне почти противен.
                    Стерильные парки, окружённые скоростными дорогами, одинаковые жилые блоки, выкрашенные
                    в невыразительный кремовый цвет, и даже старая, нарочито неотреставрированная церковь, утопающая
                    в сочной зелени культивированных парковых насаждений -- всё это кажется таким неестественным
                    и открыточным, как броская постановочная голограмма из какого-нибудь рекламного ролика.
                    Скорей бы уже закончилась сессия, и начались каникулы.]]
  ,Approach     = choose_ {
                     ["default"] = [[Я подхожу к окну и притворяюсь, что любуюсь видом.]]
                    ,["dream3_lydia._cube and not have(dream3_cube)"] = redirect_("Search")
                  }
  ,Open         = [[Сомневаюсь, что это окно можно открыть.]]
  ,Close        = [[Окно и так закрыто.]]
  ,Move         = [[Лучше всё-таки не заниматься ерундой. Окна не передвигаются.]]
  ,Wreck        = [[Отличный способ привлечь внимание Лиды! И охраны заодно. Если мне когда-нибудь наскучит здесь
                    учиться, то это, наверное, самый быстрый способ перестать быть студентом. Хотя самое смешное в том,
                    что я, скорее всего, даже не смогу это окно разбить.]]
  ,Ascend       = [[Этого я делать точно не собираюсь. Да и не смогу.]]
  ,Search       = choose_ {
                     ["default"] = [[Не очень понятно, что я должен искать.]]
                    ,["dream3_lydia._cube and not have(dream3_cube)"] =
                        [[Я осматриваю пол у окна, но ничего не нахожу.]]
                  }
}:like(pWindow)

dream3_bin = item {
   _examed      = false
  ,nam          = _"мусорное ведро"
  ,Exam         = choose_ {
                     ["default"] = [[Честно говоря, у меня нет желания копаться в мусоре.]]
                    ,["dream3_lydia._cube and not s._examed and not have(dream3_cube)"] =
                        chain_ {
                          set_("s._examed"),
                          [[С трудом сдерживая отвращение, я внимательно осматриваю весь мусор, но не вижу
                            ничего похожего на генератор голограмм Лиды -- только смятые целлофановые упаковки
                            от всякой приторной ерунды из нашей столовой, недоеденные батончики с орехами, по
                            которым уже кто-то несколько раз прошелся башмаками, даже пакет с соком, раздавленный
                            и лежащий в лужице кровянистого цвета. Глядя на всё это, я начинаю чувствовать тошноту.]]
                        }
                    ,["dream3_lydia._cube and s._examed and not have(dream3_cube)"] = 
                        [[В мусоре нет ничего похожего на тот предмет, о котором говорила Лида.]]
                  }
  ,Search       = redirect_("Exam")
  ,Move         = [[Думаю, этим должен заниматься уборщик.]]
  ,Take         = redirect_("Move")
  ,Ascend       = [[Кажется, у меня уже крыша едет из-за этой нервотрёпки перед сессией.]]
  ,Wreck        = redirect_("Ascend")
  ,Approach     = redirect_("Exam")
  ,articles     = {
                    ["Search"] = "в"
                  }
}:like(pBuild)

dream3_crowd = item {
   nam          = _"толпа"
  ,Exam         = [[Удивительно, сколько новых лиц можно увидеть накануне экзамена. И как все эти люди
                    рассчитывают сдать сессию? Про того же Соколовского любят рассказывать истории,
                    как он безжалостно валит на экзаменах прогульщиков.]]
  ,Listen       = [[Как-то мне не слишком хочется прислушиваться к этому гомону.]]
}:like(pPhenom)

dream3_elevator = item {
   _examed      = false
  ,nam          = _"лифт"
  ,Exam         = choose_ {
                     ["default"] =
                        chain_ {
                          set_("s._examed"),
                          [[Дверь одного из лифтов навязчиво позвякивает, периодически отползая в стены и
                            демонстрируя пустую, ярко освещённую газовой лампой кабину. Странно, быть может, сломались
                            какие-то датчики?^
                            Я присматриваюсь и замечаю, что в проёме лифта лежит небольшой куб, не давая двери
                            закрыться.]]
                        }
                    ,["dream3_cube._took"] = [[Лифт как лифт, смотреть здесь решительно на на что.]]
                  }
  ,Search       = choose_ {
                     ["default"] = [[И что я должен искать у лифта?]]
                    ,["dream3_lydia._cube and not have(dream3_cube)"] = redirect_("Exam")
                  }
  ,Open         = redirect_("Approach")
  ,Enter        = redirect_("Approach")
  ,Request      = redirect_("Approach")
  ,Close        = [[Двери у лифта автоматические.]]
  ,Wreck        = redirect_("Wreck", "dream3_bin")
  ,Approach     = [[Семинар уже скоро начнется. Не думаю, что мне стоит уезжать с этого этажа.]]
  ,articles     = {
                     ["Search"] = "у"
                    ,["Enter"] = "в"
                  }
}:like(pBuild)

dream3_cube = item {
   _took        = false
  ,nam          = name_ {
                     ["default"] = _"куб"
                    ,["Spin"] = "верхнюю часть куба"
                  }
  ,Exam         = choose_ {
                     ["default"] = [[Небольшой тёмно-серый куб, судя по всему, из пластика.]]
                    ,["s._took"] = 
                        [[Куб совсем легкий, с идеально гладкой поверхностью и сделан из какого-то тёмно-серого
                          жёсткого материала, вроде пластика. Но на роль пресс-папье он вряд ли подойдёт. Странная штуковина.]]
                  }
  ,Move         = choose_ {
                     ["default"] = [[Может, проще поднять его -- тогда и двери лифта смогут закрыться?]]
                    ,["s._took"] = 
                        [[Я перекладываю куб из одной руки в другую, не очень понимая, для чего нужна эта штуковина.]]
                  }
  ,Take         = takeit_ {
                    set_("s._took"),
                    [[Я поднимаю куб.]]
                  }
  ,Spin         = choose_ {
                     ["default"] = [[Не думаю, что стоит ломать этот куб, я ведь даже не знаю, зачем он нужен.]]
                    ,["dream3._alldone"] =
                        chain_ {
                          dropself,
                          walk_("dream4start"),
                          ""
                        }
                  }
  ,Activate     = choose_ {
                     ["default"] = [[Не представляю, как это можно сделать.]]
                    ,["dream3._alldone"] = redirect_("Spin")
                  }
  ,TurnOn       = redirect_("Activate")
  ,TurnOff      = [[Я думаю, он и так отключён.]]
  ,Give         = use_ {
                     ["default"] = [[Что-то мне не хочется отдавать этот куб.]]
                    ,["dream3_lydia"] =
                        choose_ {
                           ["default"] = [[Не представляю, зачем ей может потребоваться эта игрушка.]]
                          ,["dream3_lydia._cube and not dream3._alldone"] = redirect_("Talk", "dream3_lydia")
                          ,["dream3._alldone"] = 
                              [[Честно говоря, я бы предпочёл вначале проверить, как эта штука работает.]]
                        }
                    ,["dream3_victor"] =
                        choose_ {
                           ["not dream3_victor._give and not dream3._alldone and not dream3_lydia._cube"] =
                              chain_ {
                                set_("dream3_victor._give"),
                                [[-- Смотри, что у лифта валялось, -- говорю я Виктору, показывая пластиковый куб.^
                                  Виктор смотрит на куб и удивлённо качает головой.^
                                  -- Странная штуковина, -- говорит он.^
                                  -- Не знаешь, что это может быть?^
                                  -- Без понятия, -- отвечает Виктор.]]
                              }
                          ,["dream3_lydia._cube"] = [[Лучше вернуть куб Лиде.]]
                          ,["default"] = [[Не думаю, что ему нужен этот куб.]]
                        }
                    ,["dream3_anna"] = "Ей-то это зачем?"
                  }
  ,Fetch        = redirect_("Give")
  ,Wreck        = [[Нет, ломать ничего не нужно.]]
  ,Throw        = [[Зачем же мне его выбрасывать?]]
  ,Put          = [[Лучше я верну его Лиде.]]
  ,cnd          = if_("dream3_elevator._examed")
}:like(pItem)

dream3_info = item {
   _examed      = false
  ,nam          = _"информационный терминал"
  ,Move         = [[Не думаю, что мне стоит пытаться передвигать этот терминал. Это не лучший способ привлечь
                    внимание Лиды.]]
  ,Approach     = choose_{
                     ["default"] =
                        [[Я подхожу к терминалу и какое-то время стою напротив экрана, машинально прокручивая пальцем
                          список прошедших семинаров Соколовского, а также искоса поглядывая на девушек неподалеку.]]
                    ,["dream3_lydia._cube and not have(dream3_cube)"] = redirect_("Search")
                  }
  ,Exam         = choose_ {
                     ["not s._examed and not dream3_lydia._cube"] =
                        chain_ {
                          set_("s._examed"),
                          [[Я просматриваю программу оставшихся до сессии занятий и замечаю, что семинар Петрова по
                            навигации перенесли на завтра. Странно, что об этом не сообщали, ведь если бы я сейчас
                            не посмотрел, то завтра бы вообще не приехал в институт. Впрочем, Петров в отличие от
                            Соколовского не зверствует на экзаменах.^
                            И тут меня осеняет. А ведь Лида тоже может этого не знать! Неплохой повод завести
                            разговор.]]
                        }
                    ,["default"] =
                        [[На этом терминале можно посмотреть программу всех оставшихся до сессии занятий, хотя, честно
                          говоря, сейчас мне этого делать не хочется. Да и расписание в любом случае всегда висит на
                          нашем институтском портале.]]
                  }
  ,Search       = choose_ {
                     ["default"] = [[Не понимаю, что я должен здесь искать.]]
                    ,["dream3_lydia._cube and not have(dream3_cube)"] =
                        [[Я прохаживаюсь вокруг информационного терминала и осматриваю пол вокруг него, но ничего не нахожу.]]
                  }
  ,Read         = redirect_("Exam")
  ,Ascend       = [[Ну вот ещё, я пока что не сошёл с ума.]]
  ,Wreck        = redirect_("Ascend")
  ,TurnOn       = [[Терминал уже включён. Вообще такие терминалы работают круглые сутки.]]
  ,TurnOff      = [[Я осматриваю терминал, но не вижу, как его можно отключить. Скорее всего, отсюда это сделать невозможно.]]
}:like(pDevice)

dream3_victor = item {
   _talk        = 0
  ,npc_         = "victor"
  ,_give        = false
  ,_walk        = false
  ,nam          = _"Виктор"
  ,Exam         = [[Виктор сегодня заметно нервничает, хотя до экзамена осталась ещё неделя. Он быстро листает
                    на своём планшете программу курса Соколовского, но при этом почти не смотрит на экран.]]
  ,Talk         = choose_ {
                     ["default"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Ну, как? -- спрашиваю я Виктора. -- Уже начал готовиться к сессии?^
                            -- Да... Но, честно говоря... -- Виктор вздыхает и трёт рукой лицо. --
                            Слышал, в прошлом году на первой сессии треть курса отсеяли? Как-то это не очень...
                            на оптимизм настраивает.^
                            -- А кто говорил, что треть отсеяли? -- удивляюсь я.^
                            -- Ну, ребята с курса, -- как-то уклончиво отвечает Виктор и тут же начинает
                            рассматривать что-то в своём планшете.^
                            -- Тебе-то, по-моему, точно беспокоиться не о чем, -- говорю я.]]
                        }
                    ,["s._talk==1"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Кстати! -- вспоминает о чём-то Виктор. -- Зря ты тогда не пошёл на лекцию по киберу... ну, ту,
                            которую читал приглашённый профессор.^
                            -- Забыл про неё, -- признаюсь я. -- Да и она вроде необязательная.^
                            -- Вообще интересно было, -- говорит Виктор. -- Притащили робота, вернее, часть робота. Что-то вроде
                            головы, если это на голову, конечно, похоже. Так вот, он отлично выполнял все команды и умел находить
                            в комнате предметы, подсвечивая их лазерной указкой.]]
                        }
                    ,["s._talk==2"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- И что в этом удивительного? -- не понимаю я.^
                            -- Как что? -- обижается Виктор. -- Представь, ты описываешь некий предмет. Это как загадка. Ну,
                            например, "сосуд с водой". И он -- раз! Показывает тебе на графин. Он вообще со множеством задач
                            так справился. Удивительно!^
                            -- Ну, может быть.]]
                        }
                    ,["s._talk==3"] = [[Думаю, с Виктором я и потом могу поговорить.]]
                  }
  ,Listen       = redirect_("Talk")
  ,Attack       = [[Да, Виктор порою ведёт себя так, что его и правда хочется ударить. К тому же этот его вечный планшет,
                    с которым он никогда не расстается, старательно игнорируя всё, что происходит вокруг. Бывает, я
                    даже начинаю удивляться, почему вообще стал с ним общаться. Неужели только потому, что он помогает мне
                    на экзаменах?]]
  ,Kick         = use_ {
                     ["default"] = redirect_("Attack")
                    ,["dream3_cube"] = 
                        [[Сомневаюсь, что этот пластиковый кубик подойдёт на роль оружия -- он слишком лёгкий, да и...
                          Стоп! Я что, всерьёз раздумываю о том, чтобы ударить Виктора по голове пластиковым кубом? Нет, со
                          мной определённо что-то не то сегодня.]]
                  }
  ,Think        = redirect_("Think", "victor")
  ,Approach     = choose_ {
                     ["default"] =
                        chain_ {
                          set_("s._walk"),
                          [[Я подхожу к Виктору, тот опускает свой планшет и приветливо кивает мне головой.^
                            -- Прямо как перед экзаменом, да? -- улыбается Виктор.^
                            -- Ох, не напоминай, -- говорю я.]]
                        }
                    ,["s._walk"] = [[Я подхожу к Виктору и встаю рядом с ним.]]
                  }
}:like(pHuman)

dream3_paper = item {
   _examed      = false
  ,nam          = _"объявление"
  ,Exam         = choose_ {
                     ["default"] = 
                        chain_ {
                          set_("s._examed"),
                          [[В объявлении говорится о необязательной лекции, посвящённой орбитальным станциям с
                            гравитационными установками последнего поколения, которую вёл какой-то
                            приглашенный профессор. Лекция была уже почти месяц назад. Непонятно, кому пришло в голову
                            вешать здесь это объявление вместо того, чтобы разместить информацию на институтском
                            портале. Хотя... Я начинаю что-то припоминать. Кажется, я слышал об этой лекции и даже
                            собирался пойти, но потом благополучно о ней забыл.^
                            Интересно, а может, стоит спросить о лекции Лиду? Это будет, конечно, немного странно,
                            учитывая, что раньше мы об орбитальных станциях никогда не говорили, но всё же лучше так,
                            чем начинать разговор с неловкого "привет".]]
                        }
                    ,["s._examed"] = 
                        [[Это анонс лекции об орбитальных станциях с новейшими гравитационными установками, которая
                          прошла почти месяц назад.]]
                  }
  ,Read         = redirect_("Exam")
  ,Take         = [[Зачем мне снимать это объявление? Пусть уж лучше оно висит на стене.]]
  ,Move         = redirect_("TakeOff")
  ,Tear         = redirect_("TakeOff")
}:like(pHang)

dream4_wall = item {
   nam          = _"стена"
  ,withTearOff  = true
  ,withTakeOff  = true
  ,articles     = {
                     ["TearOff"] = "со"
                    ,["TakeOff"] = "со"
                  }
}

dream3_lydia = item {
   _start       = false
  ,_cube        = false
  ,_listen      = false
  ,_listentalk  = false
  ,_info        = false
  ,npc_         = "lydia"
  ,nam          = name_ {
                     ["default"] =_"Лида"
                    ,["Listen"] = _"разговор девушек"
                    ,["Spy"] = _"разговор девушек"
                  }
  ,Listen       = choose_ {
                     ["default"] = 
                        chain_ {
                          set_("s._listen"),
                          [[Я прохаживаюсь по коридору, пытаясь прислушаться к тому, о чём говорят девушки. 
                            Кажется, они обсуждают предстоящий экзамен, и Лида переживает, что пропустила
                            много лекций Соколовского. А не поможет ли мне это завязать разговор?]]
                        }
                    ,["s._cube"] = [[Девушки говорят о предстоящем экзамене по курсу Соколовского.]]
                  }
  ,Spy          = redirect_("Listen")
  ,Talk         = choose_ {
                     ["default"] =
                        choose_ {
                           ["default"] =
                                [[Ну уж нет, сначала нужно придумать какую-нибудь тему для разговора.]]
                          ,["not s._start and not s._listen and not dream3_info._examed and not dream3_paper._examed"] =
                              chain_ {
                                set_("s._start"),
                                [[-- Привет...^
                                  Я подхожу к девушкам и тут же замолкаю, едва выдавив из себя натужное приветствие.
                                  Я чувствую себя так, словно забыл человеческий язык и не в силах теперь произнести
                                  ни единого слова.^
                                  Лида смотрит на меня -- одновременно приветливо и чуть удивлённо.^
                                  -- Привет! -- говорит она. -- Ты как-то давно не появлялся. Болел?^
                                  -- Да нет, -- отвечаю я. -- Я каждый день хожу.^
                                  Я вдруг понимаю, что Лида меня на самом деле не помнит. Подумаешь, какой-то парень,
                                  который здоровался с ней несколько раз, а однажды, заикаясь, пригласил на свидание,
                                  получив в ответ улыбку и вежливый отказ. Сколько таких, как я, она отшивает каждый
                                  день?]]
                              }
                          ,["dream3_paper._examed"] =
                              chain_ {
                                set_("s._start"),
                                set_("s._cube"),
                                [[-- Девушки, извините, -- начинаю я, -- а кто-нибудь из вас ходил на эту лекцию об
                                  орбитальных станциях? А то я собирался, но как-то забыл...^
                                  -- Крошевского? Которая месяц назад была? -- уточняет Лида. -- Кстати, классно было!
                                  Жаль не пошёл.^
                                  -- Да, я и сам жалею, -- вздыхаю я. -- А что было-то?^
                                  -- Пересказал свою статью из последнего "Вестника", -- отвечает Анна.^
                                  -- Ну, не просто пересказал, -- возражает Лида. -- Там, в общем, много чего нового было.
                                  Да и рассказывает он интереснее, чем пишет. Представляете, оказывается, в работе некоторых
                                  старых гравитаторов, которые до сих пор используются на многих станциях и кораблях, есть неразрешимая
                                  ошибка, какой-то там эффект... забыла. В общем, там есть некоторый шанс, что станция может
                                  сойти с орбиты... Орбита, конечно, корректируется, но всё же...^
                                  -- А если это не станция, а корабль? -- спрашиваю я. -- И если он не на орбите?^
                                  -- Может поменяться гравитационный вектор, -- отвечает вместо Лиды Анна. -- Ну, ты статью
                                  почитай.^
                                  -- А ещё мне очень понравилось, как он говорил в конце про модель вселенной в геометрии Раймана,
                                  -- продолжает Лида. -- Конечно, немного не по теме было, но всё же... Он ведь
                                  ещё автор этой статьи, как её... Кстати, я сегодня даже сувенир такой купила, генератор
                                  голограммы.^
                                  Лида залезает в свою сумку и начинает там что-то спешно разгребать.^
                                  -- Странно, -- говорит она, -- нету нигде. Неужели я его в столовой оставила?^
                                  -- Нет, -- говорит Анна. -- У тебя он точно был, когда мы поднимались.^
                                  -- Тогда где же он?^
                                  -- Может, выронила где-нибудь? -- спрашиваю я. -- Он вообще как выглядит? Я могу посмотреть.^
                                  -- Да просто куб. Серый куб, -- отвечает Лида. -- Вот ведь обидно.]]
                              }
                          ,["s._listen and not dream3_paper._examed and not s._listentalk"] =
                              chain_ {
                                set_("s._listentalk"),
                                set_("s._start"),
                                [[-- Что-то я нечасто вас у Соколовского видел, -- говорю я. -- Не боитесь,
                                  что на экзамене завалит?^
                                  -- Ну а тебе-то что? -- фыркает Анна.^
                                  -- Главное на семинары ходить, -- говорит Лида. -- Ну, и знать что-то на экзамене
                                  тоже полезно.^
                                  Я киваю головой и не нахожу, что ответить.]]
                              }
                          ,["dream3_info._examed and not dream3_paper._examed and not s._info"] =
                              chain_ {
                                set_("s._start"),
                                set_("s._info"),
                                [[-- А вы знали, что семинар Петрова перенесли на завтра? -- спрашиваю я небрежным
                                  тоном, показывая рукой в сторону терминала. -- Я вот случайно посмотрел...^
                                  -- Ну да, говорили же... -- отвечает мне Анна.^
                                  -- Разве? Я не помню...^
                                  -- Да, -- подтверждает Лида. -- Он говорил на прошлой лекции. Тебя тогда просто не
                                  было, наверное.]]
                              }
                        }
                    ,["dream3_lydia._cube"] = 
                        choose_ {
                           ["default"] =
                              [[Может, и правда стоит вначале поискать эту штуку, о которой говорит Лида?]]
                          ,["dream3_cube._took and not dream3._alldone"] =
                              chain_ {
                                set_("dream3._alldone"),
                                [[-- Это не он? -- спрашиваю я, протягивая Лиде куб.^
                                  -- Да, точно! Спасибо! -- Лида радостно улыбается. -- Но как? Где ты его
                                  нашёл?^
                                  -- Валялся у лифта, -- отвечаю я.^
                                  -- Ну надо же! -- Лида качает головой. -- И как я не заметила? Совсем уж
                                  голову из-за этих экзаменов потеряла. Спасибо тебе!^
                                  -- А как он вообще работает? -- спрашиваю я.^
                                  -- Тут всё хитро, -- улыбается Лида. -- Его нужно повернуть, причем против часовой
                                  стрелки. Вот так вот, берёшь за основание и поворачиваешь верхнюю часть. Возьми,
                                  попробуй его сам активировать.]]
                              }
                          ,["dream3._alldone"] = [[-- Что, не получается? -- смеется Лида.]]
                        }
                  }
  ,Approach     = redirect_("Talk")
  ,Attack       = [[Вряд ли это хороший способ познакомиться.]]
  ,Throw        = [[Не стоит этого делать.]]
  ,Think        = [[Познакомился я с Лидой ещё до поступления, однако по-прежнему ничего о ней не знаю. Иногда она приветлива
                    и радушна, но порою совсем меня не замечает. Однажды я решился и пригласил её на свидание, но она отказалась,
                    сославшись на какие-то срочные дела. Может, попробовать ещё раз?]]
}:like(pHuman)

dream3_anna = item {
   _talk        = false
  ,npc_         = "anna"
  ,nam          = _"Анна"
  ,Exam         = [[Странно, что Лида выбрала себе в подруги именно её, хотя я уже много раз замечал их вместе.
                    Анна всегда относилась к тем девушкам, которых издали несложно перепутать с парнем -- я даже
                    не уверен, что видел на ней хоть раз что-то, кроме этого бесформенного и неопрятного джинсового
                    костюма. Что у них может быть общего?]]
  ,Approach     = redirect_("Walk", "dream3_lydia")
  ,Talk         = choose_ {
                     ["not s._talk and not dream3_lydia._cube"] =
                        chain_ {
                          set_("s._talk"),
                          [[Я думаю, что мог бы попробовать заговорить сначала с Анной -- быть может,
                            спросить её о чём-нибудь, ненавязчиво и небрежно, вроде того, как я уточняю у Виктора,
                            какие у нас будут на завтра пары. Однако я ни разу не говорил с ней до сегодняшнего
                            дня, не покажется ли этой странным?^
                            Несколько минут я неуверенно стою, искоса поглядывая на девушек, а потом, наконец,
                            набираюсь смелости и подхожу к ним. Лида поворачивается ко мне и улыбается, я же почему-то
                            даже не могу выдавить из себя простое приветствие и быстро говорю, опустив голову:^
                            -- Аня, а не ты случайно делала тот доклад по истории девятых? Меня тогда не было и...^
                            Нет, я и правда не мог придумать ничего глупее.^
                            -- Какой доклад? -- спрашивает меня Анна с таким видом, словно я только что обвинил её в
                            злодеянии. -- Не делала я никаких докладов.^
                            -- Извини, я, наверное, перепутал...^
                            Я ещё несколько секунд стою рядом с девушками, а потом молча возвращаюсь к Виктору.]]
                        }
                    ,["default"] = [[Нет, я совершенно не понимаю, о чём мог бы с ней заговорить.]]
                  }
  ,Throw        = [[Предпочитаю не бросать вещи в сокурсников.]]
  ,Think        = [[Как я слышал, успевает Анна неплохо, хотя больше ничем не примечательна. По-моему, у неё нет даже парня.]]
  ,Attack       = [[Не надо сходить с ума.]]
  ,articles     = {
                    ["Think"] = "об"
                  }
}:like(pHuman)
